// Created by WXX on 2021/12/13 22:40
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

/**
 * 执行用时：0 ms, 在所有 C++ 提交中击败了100.00%的用户
 * 内存消耗：5.9 MB, 在所有 C++ 提交中击败了89.84%的用户
 */
// 走回到起点，或者走到的位置所处的方向和起始方向不同，则会形成圈
class Solution {
public:
    bool isRobotBounded(string instructions) {
        int x = 0, y = 0, d = 0;
        int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};

        for (auto c : instructions) {
            if (c == 'G') x += dx[d], y += dy[d];
            else if (c == 'L') d = (d + 3) % 4;
            else d = (d + 1) % 4;
        }

        return !x && !y || d;
    }
};

int main() {


    return 0;
}
